package com.sg.dto.biz.component.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc AddVirtualImageReqDto
 * @使用场景
 */
@Data
public class AddVirtualImageReqDto extends BaseDto implements Serializable {

    /**
     * 虚拟形象标识
     */
    @ApiModelProperty("虚拟形象标识")
    private String virtualImageCode;

    /**
     * 虚拟形象名称
     */
    @NotNull(message = "虚拟形象名称不能为空")
    @ApiModelProperty("虚拟形象名称")
    private String virtualImageName;

    /**
     * 虚拟形象图片
     */
    @NotNull(message = "虚拟形象图片不能为空")
    @ApiModelProperty("虚拟形象图片")
    private String virtualImage;

    /**
     * 虚拟形象简介
     */
    @NotNull(message = "虚拟形象简介不能为空")
    @ApiModelProperty("虚拟形象简介")
    private String virtualImageDesc;

    /**
     * 人物经典语句
     */
    @NotNull(message = "人物经典语句不能为空")
    @ApiModelProperty("人物经典语句")
    private String characterClassicPhrase;

    /**
     * 所属身份人员ID
     */
    @ApiModelProperty("所属身份人员ID")
    private String originalRoleMemberId;

    /**
     * 冗余个人账号ID
     */
    @ApiModelProperty("冗余个人账号ID")
    private String userId;

    /**
     * 使用场景类型编码 SYSTEM:系统消息
     */
    @NotNull(message = "使用场景类型编码不能为空")
    @ApiModelProperty("使用场景类型编码")
    private String sceneTypeCode;

    /**
     * 使用场景子类型 STRONG_REMINDER_BY_ASSISTANT:助手强提醒 CHAT_VIRTUAL_IMAGE:沟通形象 MESSAGE-AVATAR:消息头像
     */
    @ApiModelProperty("使用场景子类型")
    private String sceneSubTypeCode;

    /**
     * 是否自定义形象 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否自定义形象不能为空")
    @ApiModelProperty("是否自定义形象")
    private String isCustomImage;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @NotNull(message = "主体生命周期不能为空")
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;

}
